/**
 * 
 */
package com.gome.axwl.aoc.service.feign;

import com.gome.axwl.aoc.common.constants.FeignServiceName;
import com.gome.axwl.aoc.common.constants.OrderReqMapConstant;
import com.gome.axwl.aoc.entity.driver.TakesendTaskSpeech;
import com.gome.axwl.aoc.service.feign.fallback.TruckFeignFallBack;
import com.gome.commons.core.ResultData;
import org.springframework.cloud.netflix.feign.FeignClient;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;

import java.util.List;

/**   
*    
* 项目名称：gome.axwl.aoc.service
* 类名称：TruckDataFeignClient
* 类描述：   
* 创建人：chengh
* 创建时间：2018年4月25日10:07:42
* @version        
*/
@FeignClient(value = FeignServiceName.GATE_WAY+FeignServiceName.OCS, fallback = TruckFeignFallBack.class)
public interface TruckFeignClient {

	/**
	 * 分页查询车次列表
	 * @param takesendNo
	 * @param waybillNo
	 * @param carrierId
	 * @param driver
	 * @param vehicleNo
	 * @param status
	 * @param acceptDcIds
	 * @param pageNum
	 * @param pageSize
	 * @return
	 */
	@RequestMapping(method = RequestMethod.GET, value =OrderReqMapConstant.getTruckList)
	ResultData getTruckList(@RequestParam("takesendNo")String takesendNo, @RequestParam("waybillNo")String waybillNo, @RequestParam("orderNo")String orderNo, @RequestParam("taskNo")String taskNo, @RequestParam("carrierId")String carrierId, @RequestParam("driver")String driver, @RequestParam("vehicleNo")String vehicleNo, @RequestParam("status")String status, @RequestParam("acceptDcIds")Integer[] acceptDcIds, @RequestParam("pageNum")int pageNum, @RequestParam("pageSize")int pageSize);

	/**
	 * 分页查询任务单列表
	 * @param takesendId
	 * @param taskNo
	 * @param waybillNo
	 * @param status
	 * @param pageNum
	 * @param pageSize
	 * @return
	 */
	@RequestMapping(method = RequestMethod.GET, value =OrderReqMapConstant.getTaskJobList)
	ResultData getTaskJobList(@RequestParam("takesendId")long takesendId, @RequestParam("taskNo")String taskNo, @RequestParam("waybillNo")String waybillNo, @RequestParam("status")String status, @RequestParam("pageNum")int pageNum, @RequestParam("pageSize")int pageSize);

	/**
	 * 下载语音文件
	 * @param taskNo
	 */
	@RequestMapping(method = RequestMethod.GET, value =OrderReqMapConstant.filesDownloadToZip)
	ResultData<List<TakesendTaskSpeech>> filesDownloadToZip(@RequestParam("taskNo")String taskNo);

	/**
	 * 任务单查询-调拨
	 * @param takesendNo
	 * @param takesendId
	 * @param taskNo
	 * @param waybillNo
	 * @param status
	 * @param pageNum
	 * @param pageSize
	 * @return
	 */
	@RequestMapping(method = RequestMethod.GET, value =OrderReqMapConstant.queryTakesendTask)
	ResultData queryTakesendTask(@RequestParam("takesendNo")String takesendNo, @RequestParam("takesendId")long takesendId, @RequestParam("taskNo")String taskNo, @RequestParam("waybillNo")String waybillNo, @RequestParam("status")String status, @RequestParam("pageNum")int pageNum, @RequestParam("pageSize")int pageSize);

	/**
	 * 分页查询任务单列表
	 * @param takesendId
	 * @return
	 */
	@RequestMapping(method = RequestMethod.GET, value =OrderReqMapConstant.queryTakesendDetail)
	ResultData queryTakesendDetail(@RequestParam("takesendId")long takesendId);

}
